package com.yiqi.lottery.framework.api;

import com.suozhang.framework.entity.bo.PageData;
import com.suozhang.framework.entity.bo.Result;
import com.suozhang.framework.entity.bo.UserInfoBo;
import com.yiqi.lottery.entity.bo.*;
import io.reactivex.Observable;
import retrofit2.http.*;

import java.util.HashMap;
import java.util.List;

public interface LotteryApi {

    /**
     * 大乐透当前期
     */
    @GET("v1/daletou")
    Observable<Result<LuckyHistoryBo>> getDaletouCurrentPeriod();

    /**
     * 创建订单
     */
    @POST("v1/order")
    Observable<Result<String>> createOrder(@Body OrderBo orderBo);

    /**
     * 开奖历史
     */
    @GET("v1/lothis/list")
    Observable<Result<List<LotteryHistoryBo>>> getLotteryHistory(@Query("label") String label);

    /**
     * 获取首页数据
     */
    @GET("v1/app/home")
    Observable<Result<HomeBo>> getHomeData();

    /**
     * 合买大厅
     */
    @GET("v1/copurce")
    Observable<Result<PageData<CouprceBo>>> getHallList(@Query("page") int page, @Query("sort") int sort, @Query("bet_type") Integer bet_type);

    /**
     * 合买详情
     */
    @GET("v1/copurce/{id}")
    Observable<Result<CouprceBo>> getHallDetail(@Path("id") String id);

    /**
     * 跟单大厅
     */
    @GET("v1/order")
    Observable<Result<PageData<HallBo>>> getDocumenteryDetail(@Query("keyword") String keyword,@Query("page") int page,@Query("bet_type") Integer bet_type,@Query("tab") Integer tab);

    /**
     * 关注
     */
    @POST("v1/user/follow")
    Observable<Result<String>> followUser(@Body UserInfoBo userInfoBo);


    /**
     * 取消关注
     */
    @POST("v1/user/unfollow")
    Observable<Result<String>> unfollowUser(@Body UserInfoBo userInfoBo);


    /**
     * 创建合买(投注)
     */
    @POST("v1/copurce")
    Observable<Result<String>> createCopurch(@Body HashMap<String,Object> couprceBo);

    /**
     * 创建合买订单
     */
    @POST("v1/copurce/submit")
    Observable<Result<String>> copurchSubmit(@Body CouprceBo couprceBo);

    /**
     * 合买支付
     */

    @GET("v1/copurce/cancel")
    Observable<Result<String>> copurcePay(@Query("id") String id);

    /**
     * 合买支付
     */

    @POST("v1/copurch/pay")
    Observable<Result<String>> copurcePay(@Body PayBo couprceBo);

    /**
     * 跟单
     */
    @POST("/v1/order/follow")
    Observable<Result<String>> followOrder(@Body OrderBo orderBo);
    /**
     * 跟单
     */
    @GET("/v1/order/{id}")
    Observable<Result<OrderDetailBo>> getGendanDetail(@Path("id") Integer orderBo,@Query("type") int  type);
    /**
     * 跟单大厅用户详情
     * **/

    @GET("v1/user/{id}")
    Observable<Result<HallUserBo>> getHallUser(@Path("id") Integer orderBo);

    /**
     * 榜单
     * **/

    @GET("v1/user/rank")
    Observable<Result<List<LotteryBo>>> getRankList(@Query("type") int type,@Query("page") int page);
}
